package com.hw.shortlink.admin.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hw.shortlink.admin.dao.entity.Group;
import com.hw.shortlink.admin.dto.req.GroupSaveReqDto;
import com.hw.shortlink.admin.dto.req.GroupSortReqDto;
import com.hw.shortlink.admin.dto.req.GroupUpdateReqDto;
import com.hw.shortlink.admin.dto.resp.GroupQueryRespDto;

import java.util.List;


public interface GroupService  extends IService<Group> {

    /**
     * 新增短链接分组
     * @param groupSaveReqDto
     */
    void createGroup(GroupSaveReqDto groupSaveReqDto);

    /**
     * 新增短链接分组
     * @param groupSaveReqDto
     */
    void createGroup(String username,GroupSaveReqDto groupSaveReqDto);

    /**
     * 查询某个用户所有的Group
     * @return
     */
    List<GroupQueryRespDto> listGroup();

    /**
     * 更新分组
     * @param groupUpdateReqDto
     */
    void updateGroup(GroupUpdateReqDto groupUpdateReqDto);

    /**
     * 删除分组
     * @param gid
     */
    void deleteByGid(String gid);

    /**
     * 排序分组，其实就是更新sort_order这个字段的值
     * @param list
     */
    void sortGroup(List<GroupSortReqDto> list);
}
